package com.example.demo.mapper;

import com.example.demo.model.Question;
import org.apache.ibatis.annotations.*;
import java.util.List;

@Mapper
public interface QuestionMapper {
    
    Question findById(Integer questionId);
    
    List<Question> findAll();
    
    /**
     * 搜索题目
     * @param keyword 关键词
     * @return 符合条件的题目列表
     */
    List<Question> search(@Param("keyword") String keyword);
    
    /**
     * 更新题目
     * @param question 题目信息
     * @return 更新的记录数
     */
    int update(Question question);
    
    /**
     * 删除题目
     * @param questionId 题目ID
     * @return 删除的记录数
     */
    int delete(Integer questionId);
    
    /**
     * 新增题目
     * @param question 题目信息
     * @return 新增的记录数
     */
    @Insert("INSERT INTO questions(section, number, description, option_a, option_b, a_affects, b_affects) " +
           "VALUES(#{section}, #{number}, #{description}, #{optionA}, #{optionB}, #{affectsA}, #{affectsB})")
    @Options(useGeneratedKeys = true, keyProperty = "questionId")
    int insert(Question question);
} 